home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_pyr_fluesplash.cog < prev    next >
Text File  |  1999-11-15  |  2KB  |  96 lines

  1. # Jones 3D Cog Script
  2. #
  3. # pyr_fluesplash.cog
  4. #    
  5. # Splash and rings at the bottom of the flue
  6. #
  7. # [RKD]
  8. #
  9. # (C) 1998 LucasArts Entertainment Company LLC. All Rights Reserved
  10. # ========================================================================================
  11. symbols
  12. message    startup
  13. message    timer
  14. message    crossed
  15. message    arrived
  16. message    pulse
  17.  
  18. thing    ringghost
  19. thing    tempring    local
  20. thing    mistghost
  21. thing    whirler
  22. thing    flue
  23.  
  24. surface    turniton
  25. surface    turnitoff
  26.  
  27. material    wateranim=gen_a_water_well.mat            local
  28. material    fallsanim=spray_a4mth_loop.mat            local
  29.  
  30. sound    fluepour=pyr_waterspout_loop.wav    local
  31.  
  32. template    ring=+ripples        local
  33. template    mist=H2Ofluefx        local
  34.  
  35. flex    cursound=0    local    
  36. end
  37.  
  38. code
  39. startup:
  40.     sleep(.01);
  41.     
  42.     AttachThingToThing(mistghost, whirler);
  43.     
  44.     #animate pool and falls
  45.     materialanim(wateranim, 10, 1);
  46.     materialanim(fallsanim, 15, 1);
  47.  
  48.     # fiddle with the flue
  49.     SetThingLight(flue, '.3 .3 .4', .001, .01);
  50.     SetCollideType(flue, 0);
  51.  
  52.     cursound = PlaySoundThing(fluepour, whirler, .2, 1, 12, 0x1);
  53.  
  54.     return;
  55.  
  56. crossed:
  57. # ---> On/Off surfaces
  58.  
  59.     if (GetSenderRef() == turniton)
  60.     {
  61.         #start turning particle generator
  62.         Rotate(whirler, 3600, 1, 5);
  63.         SetPulse(.1);
  64.         SetTimer(.3);
  65.         ChangeSoundVol(cursound, 1, 1);
  66.     }
  67.     else if (GetSenderRef() == turnitoff)
  68.     {
  69.         StopThing(whirler);
  70.         SetPulse(0);
  71.         SetTimer(0);
  72.         ChangeSoundVol(cursound, .2, 1);
  73.     }
  74.         
  75.     return;
  76.  
  77. arrived:
  78. # ---> whirler
  79.  
  80.     Rotate(whirler, 3600, 1, 4);
  81.     return;
  82.  
  83. timer:
  84.     tempring = CreateThing(ring, ringghost);
  85.     AnimateSpriteSize(tempring, '0.1 0.1 1', '0.3 0.3 0', 2);
  86.     SetTimer(Rand()/2);
  87.     return;
  88.  
  89. pulse:
  90.     CreateThing(mist, mistghost);
  91.     SetPulse(Rand()/5);
  92.     return;
  93.  
  94. end
  95.  
  96.